serviceup.png

InBox AsanaIntegration

Versão 6.4.0

Data de Criação 20/05/2019

Recursos

Este módulo permite a integração entre o Asana e o software OTRS.

Pré-requisitos

Framework

As seguintes versões de framework OTRS são suportadas:

  • [6.0.x]

Módulos

Os seguintes módulos são requeridos:

  • InBox Core 6.7.1 ou superior

Sistema Operacional

Os seguintes sistemas operacionais são requeridos:

  • [Nenhum]

Software de Terceiros

Os seguintes softwares de terceiros são requeridos:

  • [Nenhum]

Instalação

bin/otrs.Console.pl Admin::Package::Install /path/to/InBox\ AsanaIntegration 6.0.0.opm

Configuração

Este módulo pode ser configurado via Configuração do Sistema na interface administrativa. As seguintes opções de configurações estão disponíveis:

AsanaIntegration::Core::EndPoint

Configura a URL de acesso à API do Asana.

Para isso, basta definir no campo indicado a URL. Valor padrão: https://app.asana.com/api/1.0.

image1

AsanaIntegration::Core::AccessToken

Essa configuração define o token de acesso de cada atendente para que a integração seja realizada.

image2

AsanaIntegration::Core::NewTicket

Essa configuração define os parâmetros para a criação do chamado quando uma tarefa é criada no Asana.

image3

AsanaIntegration::Core::NewTicketSetQueue

Essa configuração define a fila em que serão criados os chamados de acordo com o projeto da tarefa no Asana.

Para isso, adicione na chave o nome do projeto Asana e no valor o nome da fila desejada:

image3

AsanaIntegration::Core::ConfigTicketClose

Essa configuração define os estados de fechamento do chamado

AsanaIntegration::Core::ArticleIsVisibleForCustomer

Essa configuração define se a descrição vinda do Asana será visível ou não para o cliente.

Daemon::SchedulerCronTaskManager::Task###GetAsanaUsers

Essa configuração define a Cron para atualização dos colaboradores Asana de 12 em 12 horas.

AsanaIntegration::Core::WorkspaceID

Essa configuração define o espaço de trabalho do atendente, para que a atualização de colaboradores seja realizada.

Uso

Configurando o módulo

Para utilizar este módulo, você deve primeiramente deve criar um token de acesso no seu ambiente Asana.

Para criá-lo, siga os passos "Tokens de acesso pessoal" em :

https://asana.com/pt/guide/help/api/api

Importante: Guarde esse token com cautela.

Então, acesse a configuração 'AsanaIntegration::Core::AccessToken' e o adicione.

Espaço de trabalho: Para obter o id do seu espaço de trabalho, faça login no Asana e acesse a URL: https://app.asana.com/api/1.0/workspaces no seu navegador.

Acesse também a configuração 'AsanaIntegration::Core::WorkspaceID' e adicione o id do seu espaço de trabalho.

Salve as alterações e implemente as configurações.

Antes dos próximos passos, é importante configurar CustomerUser e CustomerID na configuração: AsanaIntegration::Core::NewTicket

Um campo dinâmico de nome "AsanaTask" deve estar criado no seu ambiente, mas caso não esteja, acesse as configurações de campos dinâmicos e crie da seguinte forma:

image4

O campo "Mostrar link" pode ser configurado depois. O número indicado após o 0/ é o id do Projeto, você pode obtê-lo nos passos a seguir.

Exemplo: https://app.asana.com/0/ID_Projeto/[% Data.AsanaTask| uri %]

O campo dinâmico de nome 'AsanaFollowers' também deve estar criado no ambiente, caso não esteja, crie como o demonstrado abaixo: enter image description here

Criação de Campo customizado

Iremos criar um Campo customizado para associar os chamados às tarefas Asana. Para isso, devemos ter em mãos:

  • Nome do campo: TicketID

  • Tipo: Text

  • Espaço de trabalho: Para obter o id do seu espaço de trabalho, faça login no Asana e acesse a URL: https://app.asana.com/api/1.0/workspaces no seu navegador.

  • Descrição: Campo para receber o ID do chamado do OTRS

Com as informações em mãos, executaremos os seguintes comandos:

cd /opt/otrs
perl bin/create_customfield.pl -n TicketID -t text -d TicketID -w id_do_seu_espaço_de_trabalho -pid id_do_projeto

Você deve receber uma mensagem no log informando que o campo foi criado.

Criação de WebHook

Iremos criar um WebHook para receber os eventos do Asana. Assim, sempre que uma tarefa for aberta, um chamado será aberto no OTRS. E sempre que uma tarefa for finalizada, o chamado relacionado a essa tarefa será fechado no OTRS.

Para isso, devemos ter em mãos:

  • ID do seu Projeto Asana

O ID do projeto pode ser acessado da seguinte forma:

Entre no seu ambiente Asana e selecione o projeto em questão. Na URL, a sequência de caracteres após o 0/ é O ID do seu projeto, como mostrado na imagem abaixo:

image3

Com o ID do projeto em mãos, executaremos os seguintes comandos:

cd /opt/otrs
perl bin/create_webhook.pl -pid id_do_projeto -t https://seuaAmbiente.com.br/otrs/api/v1/receive_hooks.pl

Você deve receber uma mensagem no log informando que o WebHook foi criado.

Atualização de Lista de colaboradores Asana

Obs: Essa configuração deve ser realizada assim que o módulo for instalado.

Iremos atualizar nossa lista de colaboradores do Asana. Para isso, certifique-se de que os campos dinâmicos 'AsanaAssignee'e 'AsanaTask' estejam criados. Caso não estejam, crie seguindo as configurações abaixo:

AsanaTask:

image3

AsanaAssignee: image3

Agora, executaremos o script de atualização.

Com as configurações AsanaIntegration::Core::AccessToken e AsanaIntegration::Core::WorkspaceID configuradas corretamente, executaremos os comandos:

cd /opt/otrs
su otrs
/opt/otrs/bin/otrs.Console.pl Maint::Ticket::GetAsanaUsers

Você deve receber uma mensagem no log informando que a lista de usuário foi atualizada.

Atendente Genérico

Realizando a criação de tarefas no Asana quando um chamado é movido para a Fila X.

Para isso, acesse o menu Administrativo e vá na opção "Atendente Genérico".

image3

Dê um nome ao atendente e realize as configurações:

image3

  • Execução Baseada em Evento: TicketQueueUpdate

  • Selecionar chamados - Fila: X

image3

image3

  • Executar Módulo personalizado:

Parâmetros obrigatórios

Módulo: Kernel::System::GenericAgent::AsanaIntegration::CreateTask

Workspace: Para obter o nome do seu espaço de trabalho, faça login no Asana e acesse a URL: https://app.asana.com/api/1.0/workspaces no seu navegador.

Project: Nome do projeto Asana

SectionName: Nome da sessão no Asana em que a tarefa será criada.

Salve as alterações e implemente as configurações.

Finalizando uma tarefa no Asana quando um chamado é fechado.

Acesse o menu Administrativo e vá na opção "Atendente Genérico". Dê um nome ao atendente e realize as configurações:

  • Execução Baseada em Evento: TicketStateUpdate

  • Selecionar chamados - Estado: X

  • Executar Módulo personalizado:

Parâmetros obrigatórios

Módulo: Kernel::System::GenericAgent::AsanaIntegration::FinishTask

image3

Salve as alterações e implemente as configurações.

Atribuindo a tarefa a um colaborador Asana.

Devemos adicionar o campo dinâmico 'AsanaAssignee' em alguma tela relacionada ao chamado. Como exemplo, será adicionado na AgentTicketNote.

Acesse o menu Administrativo e vá em Configuração do Sistema. Pesquise por 'Ticket::Frontend::AgentTicketNote###DynamicField' adicione o campo na configuração, salve e implemente as alterações.

image3

Agora, vá ao menu Administrativo e acesse a opção "Atendente Genérico".

Dê um nome ao atendente e realize as configurações:

  • Execução Baseada em Evento: TicketDynamicFieldUpdate_AsanaAssignee

  • Executar Módulo personalizado:

Parâmetros obrigatórios

Módulo: Kernel::System::GenericAgent::AsanaIntegration::AssignTask

image3

Assim, quando o campo dinâmico 'AsanaAssignee' for atualizado, a tarefa asana será atribuída ao usuário escolhido.

Salve as alterações e implemente as configurações.

Atribuindo a tarefa a seguidores no Asana.

Devemos adicionar o campo dinâmico 'AsanaFollowers' em alguma tela relacionada ao chamado. Como exemplo, será adicionado na AgentFreeText.

Acesse o menu Administrativo e vá em Configuração do Sistema. Pesquise por 'Ticket::Frontend::AgentFreeText###DynamicField' adicione o campo na configuração, salve e implemente as alterações.

enter image description here

Agora, vá ao menu Administrativo e acesse a opção "Atendente Genérico".

Dê um nome ao atendente e realize as configurações:

  • Execução Baseada em Evento: TicketDynamicFieldUpdate_AsanaFollowers

  • Executar Módulo personalizado:

Parâmetros obrigatórios

Kernel::System::GenericAgent::AsanaIntegration::TaskFollowers

Assim, quando o campo dinâmico 'AsanaFollowers' for atualizado, a tarefa asana terá os usuários selecionados nele como seguidos da tarefa.

Salve as alterações e implemente as configurações.

Verificar no OTRS quem abriu a tarefa via Asana.

Para habilitar funcionalidade, é necessário que o campo dinâmico 'AsanaTaskCreator' esteja criado no ambiente. Caso não esteja, crie como o indicado abaixo:

enter image description here

Após isso, adicione esse campo em uma tela de apresentação, como a action AgentTicketZoom. Com isso, quando uma tarefa é aberta pelo Asana é possível verificar o usuário que a abriu, como no exemplo abaixo:

API

Clique aqui para acessar a API do módulo.